#include <iostream>
using namespace std;

const int N=10;
int a[N][N];
bool st[N][N][N],col[N][N],row[N][N];


bool dfs(int x,int y){
	if(y==9){
		x++;
		y=0;
	}
	if(x==9) return true;
	if(a[x][y]) return dfs(x,y+1);
	
	for(int i=1;i<=9;i++){
		if(row[x][i]||col[y][i]||st[x/3][y/3][i]) continue;
		row[x][i]=col[y][i]=st[x/3][y/3][i]=true;
		a[x][y]=i;
		if(dfs(x,y+1)) return true;
		row[x][i]=col[y][i]=st[x/3][y/3][i]=false;
		a[x][y]=0;
	}
	return false;
}

int main()
{
	for(int i=0;i<9;i++){
		for(int j=0;j<9;j++){
			cin>>a[i][j];
			int x=a[i][j];
			if(x){
				row[i][x]=true;
				col[j][x]=true;
				st[i/3][j/3][x]=true;
			}
		}
	}
	dfs(0,0);
	for(int i=0;i<9;i++){
		for(int j=0;j<9;j++){
			cout<<a[i][j]<<" ";
		}
		cout<<endl;
	}
	return 0;
}
